草庐IT

c++ - SIMD C++ 库

全部标签

c++ - 如何在 C++ 程序中使用 C 头文件?

我正在VisualStudio2010中开发一个项目,该项目将生成一个win32dll文件。我的示例是C文件,编译和运行良好。我想合并我编写的C++函数中的一些功能,但我遇到了一些困难。如果我尝试将C++函数链接到C程序,它对字符串等一无所知并且根本不起作用(当然)。因此,我只好将示例更改为C++程序,然后我就可以毫无顾虑地使用我的其他文件了。当我尝试执行此操作时,我收到了一个我不理解的链接错误,并且不确定如何解决。这些示例使用供应商提供的header,其中包括如下语句typedefvoid(__cdecl*BINDING_PROC_BEVNT)(WORD_Tchoice,INT_T*

c++ - GCC -Wunused-function 不起作用(但其他警告有效)

我试图通过使用GCC的-Wunused-function标志在我的代码库中找到未使用的函数。如我所料,使用gcc-Wall-Wunused-functionmain.cpp编译以下代码会打印一个unusedvariable警告:warning:unusedvariable‘x’[-Wunused-variable]但是,编译器不会给出unused-function警告。我该怎么做才能让GCC注意到未使用的函数foo()?//main.cppvoidfoo(){}//should(butdoesn't)trigger'unusedfunction'warningintmain(intar

c++ - C 到 C++ : Transitioning from one language to the other

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:C++tutorialforexperiencedCprogrammer.我经常使用多种语言进行编程,最近一直在使用C++。基本上我的类只是对纯C代码的包装。几乎就像一个带有关联方法的结构。这为我的数据提供了我想要的封装和隐私。我有一个小的类层次结构,几乎没有使用继承。我熟悉面向对象的概念,并且知道当我需要了解这方面的特定概念时可以使用哪些搜索词。然而,正如我在编程世界中的尝试所发现的那样,通常真正有用的语言特性对新手或新手来说是隐藏的,而我需要的有用的部分已经写好了并且在某个地方的库中可以免费使用可用(大多

c++ - 仅 header 链接

许多C++项目(例如,许多Boost库)是“仅header链接”。在普通C中这也可能吗?如何将源代码放入标题中?有没有关于它的网站? 最佳答案 执行摘要:可以,但不应该。C和C++代码在编译之前被预处理:所有header都被递归地“粘贴”到包含它们的源文件中。如果您在头文件中定义了一个函数,并且它被两个C文件包含,那么您将在每个目标文件中得到两个拷贝(OneDefinitionRule违规)。如果您的所有函数都标记为static,即在翻译单元外不可见,则您可以创建“仅header”C库。但这也意味着您将获得包含头文件的每个翻译单元中

c++ - 将使用 "new"分配的内存传递给 C 库是否安全?

我知道newdelete与mallocfree不兼容。这是否意味着我应该避免对将由C库使用的内存使用new?当我将内存传递给C库时,使用new而不是malloc会出现什么问题?voidfunc(){int*p=newint(42);//ShouldIinsistonusingmallocforpifthisfunctionisapart//ofaClibrary?lib_func(p);} 最佳答案 内存就是内存,怎么分配都无所谓。只要您将new与delete、new[]与delete[]以及malloc/calloc和free(还

c - 在 CGI 应用程序中维护 session 状态的最佳 C/C++ 库?

我听说过Boost和ACE这两个著名的C++库。还有哪些其他好的C/C++库可用?Boost和ACE是否支持用C/C++编写的Web应用程序的session管理?编辑:好的,我将尝试针对特定领域。我正在寻找一个C/C++库,它可以帮助我维护基于C++的CGIWeb应用程序的session状态。 最佳答案 当您尝试使用C++构建Web应用程序时,我建议您使用Wt,一个类似Qt的框架,用于在C++中创建Web应用程序。它在每个session一个进程(当安全问题时)或每个进程多个session中处理session。您可以使用内置网络服务器

c++ - 替代 getch()、gotoxy()、delay()、clrscr()

我有一些为TurboC编译器编写的旧程序源代码。我对它们进行了更改,并希望在适用于Linux和Windows的较新编译器中重新编译它们。所以请告诉我最好的替代函数是什么getch(),delay()/sleep(),clrscr(),gotoxy()用于C和C++。 最佳答案 看看ncurses库,用于Unix兼容系统。 关于c++-替代getch()、gotoxy()、delay()、clrscr(),我们在StackOverflow上找到一个类似的问题:

c++ - Libusb 以及如何在 Ubuntu 中使用它的包

我已经使用以下命令安装了libusb。我不确定它是否正确,命令是sudoapt-getinstalllibusb-dev一旦我安装了(我不确定它是否已经安装,因为我是Ubuntu的新手用户),我想知道我将如何使用这个库,因为我写了一些使用,但是当我使用编译该C++文件时g++test_libusb.cpp抛出以下错误,test_libusb.cpp:2:20:fatalerror:libusb.h:Nosuchfileordirectorycompilationterminated.我不知道该怎么办。我无法在Internet上找到任何资源来深入了解这个...我想知道两件事:如何在C/C

c++ - C++的2D分段/四元树解释

Closed.Thisquestionneedsdetailsorclarity。它当前不接受答案。想要改善这个问题吗?添加详细信息,并通过editingthispost来解决问题。已关闭6年。ImprovethisquestionP.S.这可能不是重复的。我搜寻了SO,确保没有得到想要的东西。我是ACM问题解决者,最近我学习了线性阵列的分段树和具有延迟传播的分段树。但是我遇到了一些需要2D分段树(在某处称为四叉树)的问题。但是我找不到关于它的任何好的教程。我搜索了SO,并找到了http://e-maxx.ru/algo/segment_tree链接,该链接是俄语教程。我需要对2D分段

c++ - 如何检查文件是否为常规文件?

如果文件是常规文件(而不是目录、管道等),我如何在C++中检查?我需要一个函数isFile()。DIR*dp;structdirent*dirp;while((dirp=readdir(dp))!=NULL){if(isFile(dirp)){cout我试过将dirp->d_type与(unsignedchar)0x8进行比较,但它似乎无法通过不同的系统移植。 最佳答案 您可以使用可移植boost::filesystem(直到最近在C++17中引入std::filesystem,标准C++库才能做到这一点):#include#inc